This file lists all of the changes made for each release of SlyEdit.

Revision History (change log)
=============================
Version  Date         Description
-------  ----         -----------
1.44     2015-04-30   Bug fix: When cross-posting a message in other message
                      areas, the message area settings are now checked to see
                      whether the user's real name should be used for the
                      'From' name.  Previously, SlyEdit was always using the
                      user's alias as the 'From' name when cross-posting.
1.43     2015-01-16   Minor bug fixes: Sometimes SlyEdit would insert an extra
                      empty line in the quote lines when replying to a message
                      after wrapping long quote lines.  Also, sometimes SlyEdit
                      would add an extra space to the beginning of some quote
                      lines after wrapping them.
1.42     2014-11-15   Updated the cross-post selection window to use the PageUp
                      & PageDown keys for paging instead of P  (previous page)
                      and N (next page) - I had forgotten to modify that in
                      version 1.41.
1.41     2014-11-15   - Added the ability to use the PageUp and PageDown keys
                      for page navigation in the message, replacing Ctrl-W and
                      Ctrl-S.  Also, enabled page navigation in the quote line
                      selection window, as well as being able to go directly to
                      the first & last pages of quote lines.
                      - Corrected the width of the top border of the quote
                      window in DCT mode for wide terminals (more than 80
                      characters).
                      - Improved the detection of paragraphs for wrapping quote
                      lines: If the next line of text is indented compared to
                      the previous line, the indented line is considered the
                      start of a new paragraph, and its lines will be wrapped
                      separately from the previous paragraph.
                      - Minor bug fix: When the cursor is on a line with a
                      blank line below it, When backspacing to the beginning of
                      the line and then to the line before it, the blank line
                      below used to not be preserved when typing onto the next
                      line again.
                      - The control key passthru & BBS status configuration
                      (i.e., screen pause) are now restored not only in normal
                      exit, but also if there is an exit due to a runtime error
                      (although I would not expect that to happen).
1.40     2014-05-21   Minor bug fix wrapQuoteLinesUsingAuthorInitials() in
                      SlyEdit_Misc.js - Added a check for an array index which
                      should hopefully prevent a crash due to an out-of-bounds
                      array index for the quote lines.
1.39     2013-11-27   Minor bug fix in wrapQuoteLinesUsingAuthorInitials() in
                      SlyEdit_Misc.js starting on line 2739: Added more checks
                      to ensure that the gQuoteLines object it references is
                      valid.
                      Minor bug fix: Updated the Ice-style color display for
                      the control key help text in the lower right so that
                      normal/high attributes don't interfere with the high blue
                      color of the parenthesis.
1.38     2013-11-11   Minor bug fix: If there are no text replacements to list
                      when the user tries to list them, the cursor now returns
                      to its proper place after displaying the error.
1.37     2013-11-10   Bug fix for message quoting using author initials where
                      it sometimes used the wrong initials after wrapping long
                      quote lines (quote prefixes for the quote lines were not
                      being maintained correctly in some cases).
1.36     2013-10-28   Bug fix for message quoting using author initials in some
                      situations where it wasn't quoting at all, not wrapping a
                      line sometimes, etc.
                      Added logging to the BBS log when the user cross-posts a
                      message into sub-boards other than the original one that
                      the user was posting into.
1.35     2013-10-17   Bug fix: Now correctly honors the menuOptClassicColors
                      setting for Ice mode.
1.34     2013-10-13   Bug fix: When quoting a message with author initials,
                      sometimes sone of the quoted lines didn't get prefixed
                      properly when text was wrapped to a new line.  This has
                      been fixed.
                      Speed optimization/enhancement: The original author's
                      name (used for prefixing quote lines) is saved in a
                      persistent variable to minimize disk reads in case the
                      the user changes their preference for using author
                      initials in quote lines.
                      Added a new configuration option for Ice-style colors:
                      menuOptClassicColors.  If this option is set to false,
                      then new colors will be used for Ice-style menu options.
                      If this is set to true, then the classic Ice-style menu
                      option colors will be used.
1.33     2013-09-19   Added 3 more configuration options:
                      - taglinePrefix: Text to use to prefix the selected
                                       tagline
                      - quoteTaglines: Whether or not to surround the selected
                                       tagline with doublequotes
                      - shuffleTaglines: Whether or not to shuffle (randomize)
                                         the list of taglines displayed to the
                                         user
1.32     2013-09-18   Added the ability to choose a tagline to append to the
                      message upon saving.  Added user settings, which lets
                      users configure whether or not they want to use taglines,
                      whether or not to prepend the original author's intials
                      to quoted lines, and whether or not to indent quoted
                      lines that begin with author's initials.
                      Also made some misc. changes & bug fixes, such as:
                      - The maximum message name length in Ice mode is now 35
                        characters (up from 20 characters).
                      - The user's time left is now updated on the screen as it
                        changes (checked & updated after each keypress).
                      - Bug fix: The time is now displayed in the correct
                        location when the terminal is wider than 80 characters.
                      - Bug fix for DCT mode: Listing text replacements using
                        Ctrl-T from the Help menu now works.
                      - Bug fix for DCT mode: Fixed an off-by-one bug for the
                        horizontal position of the INS/OVR text when changing
                        between insert & overwrite mode using a terminal size
                        more than 80 characters wide.
1.31     2013-09-07   Bug fix: Set a default for the inner text for the text
                      replacement list box in case it's not defined in the
                      color theme file.
                      Bug fix: Disabled the spinning cursor when getting user
                      input everywhere.  This prevent characters being overwritten
                      when displaying the text replacement list box, etc.
1.30     2013-09-03   When literal text replacements are being done, SlyEdit
                      now won't force the replacement text to be all lowercase.
1.29     2013-09-02   Added text replacements (AKA Macros), which lets the
                      sysop configure words to be replaced as the user types a
                      message.
                      Added a new color setting, used when listing the text
                      replacements: txtReplacementList
                      Renamed the crossPostBorder and crossPostBorderTxt color
                      settings to the more generic listBoxBorder and
                      listBoxBorderText.
1.28     2013-08-24   Added 8 new color settings:
                       msgWillBePostedHdr
                       msgPostedGrpHdr
                       msgPostedSubBoardName
                       msgPostedOriginalAreaText
                       msgHasBeenSavedText
                       msgAbortedText
                       emptyMsgNotSentText
                       genMsgErrorText
                      Bug fix: SlyEdit sometimes didn't quote the last line of
                      message when using author's initials.  This has been
                      fixed.
1.27     2013-05-24   Simplified the way SlyEdit decides to use the absolute
                      message number: Now simply checks to see if it's greater
                      than 0 and uses it only in that case; otherwise, it uses
                      the message offset.
                      For sysops who use Digital Distortion's Message Lister,
                      this changes requires version 1.36 or newer of Digital
                      Distortion Message Lister.
1.26     2013-05-18   Updated to use the absolute message number only on
                      Synchronet >= 3.16 from May 12, 2013 onward, since
                      bbs.msg_number is valid only from that date forward.  For
                      previous versions & builds of Synchronet, SlyEdit uses
                      bbs.smb_curmsg, as before (although that can result in
                      some incorrect message headers chosen for author initials
                      in Scan For New Messages To You, resulting in incorrect
                      initials used in message quoting).
1.25     2013-05-14   Updated to use the absolute message number rather than
                      message index when retrieving a message header to get
                      author initials when quoting a message.  The absolute
                      message number is accurate in all cases, whereas the
                      indexes would change when scannning for new message to
                      you, etc.  (In the JavaScript code, it now uses
                      bbs.msg_number rather than bbs.smb_curmsg).
1.24     2013-02-17   Bug fix: If the user is posting a new message on a
                      sub-board, SlyEdit now should have the correct sub-board
                      info, even if the user is posting on a different
                      sub-board than the one they're currently set for reading.
                      Also, defaulted the option for indenting quote lines with
                      initials to true.
1.23     2013-02-13   Bug fix: If the user doesn't have a current message
                      sub-board (i.e., a new user applying for access), SlyEdit
                      now uses the first sub-board that the user can post into.
                      This avoids crashes due to JavaScript errors.
1.22     2013-02-08   Bug fix: When replying to a personal email or netmail,
                      now uses the correct author's initials in quote lines.
1.21     2013-02-03   Bug fixes related to cross-posting:
                      - Posting during newscan: The message telling which
                      sub-board the message was posted in was incorrect if
                      different from the user's current sub-board; this was
                      fixed.
                      - Now includes the user's signature when cross-posting
1.20     2013-01-31   - Added a cross-posting feature.  This allows a message
                      to be posted in message areas other than the user's
                      current message area.  The message can be posted in
                      multiple areas, or just one, and not necessarily the
                      same message area as the user's current message area.
                      Cross-posting is disabled when writing personal email
                      or NetMail.  New configuration options and colors were
                      added for cross-posting.
                      - When reading the configuration files, SlyEdit now
                      checks the mods directory first, to allow the sysop
                      to place customized configuration files there so they
                      won't be accidentally overwritten when updating files
                      from the Synchronet CVS repository.  The directory
                      search order for configuration files is as follows:
                         1. sbbs/mods
                         2. sbbs/ctrl
                         3. Same directory as SlyEdit
                      - The height of the quote line window is now dynamically
                      determined as about 42% of the height of the message edit
                      area, rather than being hard-coded to 8 lines high.  This
                      was done to make it look proportionally the same with
                      different terminal heights.
                      - Bug fix: When deleting a line in the middle of the
                      message, and if the user goes up to the previous line and
                      starts typing and the line wraps, SlyEdit will now insert
                      another line to preserve the message spacing. Previously,
                      SlyEdit would let the text wrap into the next line,
                      effectively removing a line from the message.
1.19     2013-01-02   Bug fix: When replying to low-numbered messages in a
                      message area now get the correct author name.
                      Previously, it would get the correct author name only
                      from the later messages in a message area.
1.18     2012-12-31   Bug fix: When prefixing quote lines with author initials,
                      if re-wrapping quote lines resulted in an additional
                      quote line being created, it wasn't prefixing that quote
                      line with an additional > to indicate that it was being
                      quoted again.  This was fixed.
                      Also, updated so that when replying to a message,
                      instead of getting the author's initials (for quoted
                      lines) from the given "To" name, it will read the
                      message's "From" name from the message database.  That
                      way, if a user changes the "To" name when replying to a
                      message, the correct initials will be used.
                      If a BBS has Digital Distortion's Message Lister set up,
                      then it must be updated to at least version 1.31 in order
                      for message quoting with author's initials to work
                      properly when replying to a message from Digital
                      Distortion's Message Lister.
                      The latest version of the Digital Distortion BBS doors &
                      add-ons can be downloaded from the following web page:
                      http://digdist.bbsindex.com/DigDistBBSStuff/DigDistBBSStuff.html
1.17     2012-12-27   Updated to prefix quote lines with author initials.
                      This is now the default behavior, but this can be
                      disabled with the following line in SlyEdit.cfg:
                      useQuoteLineInitials=false
                      When disabled, SlyEdit will simply prefix quote lines
                      with " > ", as was done in IceEdit, DCT Edit, and other
                      message editors of the early-mid 1990s.
                      Also, fixed a bug related to refreshing the text on the
                      screen when a drop-down menu disappears.  This bug fix is
                      only relevant for DCT mode.
1.16     2012-12-21   Updated to look for the .cfg files first in
                      the sbbs/ctrl directory, and if they're not
                      found there, assume they're in the same
                      directory as the .js files.
1.15     2012-04-22   Improved quoting with the ability to re-wrap quote lines
                      so that they are complete but still look good when
                      quoted.  SlyEdit recognizes quote lines beginning with >
                      or 1 or 2 intials followed by a >.  The configuration
                      option "splitLongQuoteLines" was replaced by
                      "reWrapQuoteLines", and it is enabled by default.
                      Also, added the following configuration options and capabilities:
                      add3rdPartyStartupScript:
                                  Add a 3rd-party JavaScript script to execute
                                  (via loading) upon startup of SlyEdit.  The
                                  parameter must specify the full path & filename
                                  of the JavaScript script.  For example (using
                                  the excellent Desafortunadamente add-on by Art
                                  of Fat Cats BBS):
                                  add3rdPartyStartupScript=D:/BBS/sbbs/xtrn/desafortunadamente/desafortunadamente.js
                      addJSOnStart:
                                  Add a JavaScript command to run on startup.  Any
                                  commands added this way will be executed after
                                  3rd-party scripts are loaded.
                                  Example (using the excellent Desafortunadamente
                                  add-on by Art of Fat Cats BBS):
                                  addJSOnStart=fortune_load();
                      add3rdPartyExitScript:
                                  Add a 3rd-party JavaScript script to execute
                                  (via loading) upon exit of SlyEdit.  The
                                  parameter must specify the full path & filename
                                  of the JavaScript script.
                      addJSOnExit:
                                  Add a JavaScript command to run on exit.
                                  Example (don't actually do this):
                                  addJSOnStart=console.print("Hello\n\1p");
1.145    2011-02-07   The time on the screen will now be updated.  The
                      time is checked every 5 keystrokes and will be
                      updated on the screen when it changes.
1.144    2010-11-21   Minor bug fix: In DCT mode, if the top or bottom border
                      of one of the menus or the abort confirmation box is
                      on the first or last line of text on the screen and the
                      text line ends before the box border ends, the box border
                      is now fully erased when it disappears.
1.143    2010-06-19   Minor bug fix: When typing an entire line of text that
                      doesn't have any spaces, the last character was being
                      discarded when wrapping to the next line.
1.142    2010-02-04   Minor bug fix: When reading quote lines and the
                      splitLongQuoteLines is disabled, it will no longer
                      (incorrectly) insert "null" as the last quote line
                      (as is done when the splitLongQuoteLines option is
                      enabled).
1.141    2010-01-23   Bug fix: The screen wouldn't update when pressing the Delete
                      key on a blank line, which would remove the line.
1.14     2010-01-19   Bug fix: The screen wouldn't update when pressing the Delete
                      key at the end of a line (specifically, with a blank line
                      below it followed by a non-blank line).
                      Also, updated to allow combining quote lines by pressing
                      the Delete key at the end of a quote line.
1.131    2010-01-10   Minor update - The option for splitting long quote
                      lines, which was enabled by default in the previous
                      version, is now disabled by default in this verison.
                      It seems that there may be more sysops that don't
                      like it than those who do like it.
                      The code in the .js files in this version is also
                      a little more refactored.
1.13     2010-01-04   Includes the ability to split up quote lines that
                      are too long, rather than truncating them.  This
                      is an option that can be toggled and is enabled by
                      default.
                      Includes several bug fixes related to message editing
                      (i.e., such as word wrapping for the last word on a
                      line) and other behind-the-scenes bug fixes.
                      Efficiency of screen updates has been improved somewhat
                      in this release.  This is more noticeable on slower
                      connections.
1.12     2009-12-14   Behavior change: Now never removes any spaces from
                      the beginning of a line when the user presses enter
                      at the beginning of a line.
1.11     2009-12-10   Added the ability to customize the quote line color
                      in the color theme files (QuoteLineColor).
                      Fixed a bug where the text color temporarily went
                      back to default (not using the customized text
                      color) when moving to a new line when typing a
                      message.
                      Updated to (hopefully) fixed a bug that could
                      cause the script to abort when adding a line to
                      the message in rare circumstances.
1.10     2009-12-03   Added support for customizable color themes.
                      Fixed a couple of text editing bugs/annoyances.
1.08     2009-11-10   Changed the way the message is saved back to the
                      way SlyEdit was saving in 1.06 and earlier, as
                      this simplifies the code.  The "Expand Line Feeds
                      to CRLF" option needs to be enabled in SCFG for
                      messages to be saved properly in all platforms.
                      Added configuration options to enable/disable the
                      user input timeout, and to specify the input timeout
                      time (in MS).
                      The sysop is now always exempt from the input timeout.
                      Also, started to work on improving the efficiency
                      of refreshing the message area.
1.07     2009-10-23   Bug fix: Changed how the end-of-line newline
                      characters are written to the message file so
                      that the message text lines are saved correctly
                      in Linux.  The bug in previous versions was causing
                      messages going across certain networks to lose their
                      end-of-line characters so that text lines weren't
                      terminated where they were supposed to be.  Thanks
                      goes to Tracker1 (sysop of The Roughnecks BBS) for
                      the tip of how to fix this.
                      New feature: Configuration file with settings
                      for whether or not to display the ending info
                      screen, as well as quote window colors for both
                      Ice and DCT modes.
1.06     2009-09-12   Bug fix: Updated the way it checks for printable
                      characters.  This should fix the problem I've seen
                      with some BBSs where it wouldn't allow typing an
                      upper-case letter.
1.05     2009-08-30   Bug fix: When editing an existing message, the cursor
                      would be at the bottom of the edit area, and it would
                      appear stuck there, unable to move up.  This has been
                      fixed - Now the cursor is always initially placed at
                      the start of the edit area.
                      Bug fix: When saving a message, blank lines are now
                      removed from the end of a message before saving.
1.04     2009-08-27   Bug fix: When wrapping a text line, it would place
                      individual words on lines by themselves, due to a
                      change in 1.03.  This has been fixed.
1.03     2009-08-27   Bug fix: With a small message (less than one screenful),
                      Ctrl-S (page down) now doesn't crash SlyEdit.
                      Bug fix: When typing and the end of the line and it has to
                      wrap the word to the next line, it now always inserts a new
                      line below the current line, pushing the rest of the message
                      down.
1.02     2009-08-26   Bug fix: Now prevents invalid text lines from quotes.txt or
                      the message file from being used.
1.01     2009-08-23   Bug fix: Blank edit lines would be removed
                      when they weren't supposed to if the user
                      used the /S or /A commands on a line that
                      wasn't the last line.
1.00     2009-08-22   First public release
0.99     2009-08-13-  Test release.  Finishing up features, testing,
         2009-08-20   and fixing bugs before general release.